home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / pascal / tptc17.zip / HISTORY.DOC < prev    next >
Text File  |  1988-03-26  |  10KB  |  213 lines

  1.  
  2. Revision history of TPTC
  3. ------------------------
  4.  
  5. 09/09/85  v0.0  (paspp)
  6.    Initial coding by Samuel H. Smith.  Never released.
  7.  
  8. 12/19/86  v1.0
  9.    First distributed as TPC10 under shareware concept.
  10.  
  11. 04/15/87  v1.1
  12.    Corrected handling of unary minus. Improved error messages; added
  13.    error messages to object file. Added handler for integer subrange
  14.    types. Added handling for goto statement and numeric labels. The
  15.    macro header, tpcmac.h, now contains more declarations. Distributed
  16.    as TPC11.
  17.  
  18. 04/22/87  v1.2
  19.    Corrected an error that led to a crash on lines with more than 40
  20.    leading spaces.  Distributed as TPC12.
  21.  
  22. 05/20/87  v1.3
  23.    Added support for pascal/MT+:  external procedures and variables,
  24.    special write/read indirect syntax, & and ! operators, default string
  25.    size for string declarations. Distributed as TPC13.
  26.  
  27. 05/26/87  v1.4
  28.    Additional support for pascal/MT+.   The translator "shifts" into a
  29.    MT+ specific mode when it recognizes the 'MODULE' statement. The '|'
  30.    operator is recognized for bitwise OR. The '\', '?' and '~' operators
  31.    are all translated into a unary not. Read(ln) and Write(ln) now
  32.    support the special case of "[]" for the I/O routine. Long integer
  33.    literals are translated from '#nnn' to 'nnnL'
  34.  
  35. 06/01/87  v1.5
  36.    Added new command-line parser. Added -lower option to map identifiers
  37.    to lower case. Added -mt option to force pascal/mt+ mode. Added
  38.    partial var-parameter translation. Mem, MemW, Port and PortW are all
  39.    translated into Turbo C. Turbo-c procedure declaration syntax is now
  40.    used. Arrays may now be subscripted by enumeration types. Null else
  41.    clause now handled properly in IF and CASE statements. For .. downto
  42.    is now translated correctly. The VAL..VAL form is now translated in
  43.    case statements.
  44.  
  45. ---------------
  46. -- detect concat(concat... and replace with a sprintf variant
  47. -- changed sprintf calls to sbld calls to preserve sources during build
  48. -- pos(c,str) and pos(str,str) are now separately translated
  49. -- added 'base' to symbol table; use to add base-subscript offset
  50.    in all subscript references.
  51. -- moved typename translations to tpcmac.h header
  52. -- fixed bug in non-translation of tshell directives
  53. -- forward pointer declarations
  54. -- translate inline into asm statements
  55. -- complete forward translation
  56.  
  57. 10/13/87
  58. -- improved string and array parameter translations
  59. -- string returns are now translated into char *
  60.  
  61. 10/15/87
  62. -- corrected error in typed constant translation where nested records
  63.    are initialized. 
  64. -- variant record declarations are translated into unions but no variant
  65.    expression translations are done. 
  66. -- changed nested procedure error messages to include procedure name.
  67.  
  68. ---------------
  69. 02/13/88 v1.6
  70.   Converted to TPAS 4.0 format; released under the SourceWare concept
  71.   (see README and LICENSE.DOC).  
  72.  
  73. ---------------
  74. 03/10/88 v1.6a
  75. -- corrected recent errors in #include translation and -include processing.
  76. -- changes in status display and error message formats.
  77. -- translation of multi-dimensional and nested array declarations.
  78. -- translation of untyped var parameters.
  79. -- partial translation of absolute variable declarations.
  80. -- improved data type declaration in expressions with subscripts.
  81.  
  82. 03/11/88
  83. -- new method of expression type tracking; type botching is greatly
  84.    reduced while speeding execution.
  85. -- rewrote include file handler to allow nested includes.
  86.  
  87. 03/12/88
  88. -- implemented proper procedure ordering for nested procedures (inmost
  89.    procedures are output first, followed by outer procedures).
  90. -- shortened command-line options to single letters.   
  91. -- added -W option to allow specification of a RAMDISK for work files.
  92.  
  93. 03/13/88
  94. -- added translation of :(expression) parameters in write statements.
  95. -- corrected translation of 'actual' VAR and untyped parameters. 
  96. -- improved type detection in record member references.
  97. -- created 'uninc' postprocessor to split up output into original
  98.    include files (placed in a user specified destination directory).
  99. -- added 't2c.bat' batch file to combine translation and include processing.
  100. -- added code to ignore tp4.0 interface sections.
  101.  
  102. 03/14/88
  103. -- improved indentation in generated code for variant record decls (remember,
  104.    tptc is NOT a pretty printer!  use CB or INDENT to get pretty indentation).
  105.  
  106. 03/15/88
  107. -- added boolean as a basic type; this allows automatic selection of &, |
  108.    and &&, || in expressions.
  109. -- implemented translation for 'str' standard procedure.
  110. -- partial translation of 'val' procedure.
  111. -- better implementation of subscript base value translation.
  112. -- better type tracking in subscripted variables.
  113.  
  114. 03/16/88
  115. -- added macros for paramcount and paramstr instead of specific translations.
  116. -- corrected implementation of mt+ translation for write([proc],...) form.
  117. -- added unique prefix on local #define's to prevent name clashes.
  118. -- added specific translations for \r, \n, \b, \e character constants.
  119. -- added translation for intr() and msdos() calls.
  120. -- implemented constant folding in trivial cases where index bases are added.
  121. -- added translation of @(...) operator.
  122.  
  123. 03/17/88
  124. -- corrected translation of pointers to simple types.
  125. -- improved translation of character and numeric subrange types.
  126. -- partial translation of set expressions.
  127. -- corrected enumeration-type subscript range calculation.
  128. -- added -Tnn command option to control tabstops in declarations.
  129. -- changes in symbol table and parser for 20% faster operation.
  130.  
  131. 03/18/88
  132. -- disable '#...' translation (tshell passing) without -# option.
  133. -- exit all nested procs in fatal error handler.
  134. -- added symbol table entries for 'builtin' procedure translations (allows
  135.    user redefinition of 'pos', for example).
  136. -- predefined symbol table entries are reported only if -DP option is used.
  137. -- partial translation of 'with' statements.
  138.  
  139. 03/19/88
  140. -- slight improvement in recovery from syntax errors.
  141. -- corrected parsing of initialized set constants.
  142.  
  143. 03/21/88
  144. -- added -B option for deBug trace while scanning source file.
  145. -- changed numeric character literals from octal to hex.
  146. -- added warning if pascal string length byte is used in expressions.
  147. -- implemented translation of ^c^c (multiple control character literals).
  148. -- eliminated recursion in scanning consecutive comments.
  149. -- added specific translations for \a, \f, \t, \v character literals.
  150. -- corrected translation of ^.,  ^[, and #$hex character literals.
  151. -- added ".pas" default on include filenames.
  152. -- corrected translation of "external 'file.ext'..." procedure option.
  153.  
  154. 03/22/88
  155. -- corrected parsing error that could cause lockup at end of translation.
  156. -- added translation from chr(lit) to character literals where possible.
  157. -- allowed redefinition of 'exit' procedure.
  158. -- corrected empty case statement and empty then-before-else translation.
  159. -- corrected &* possibility in fscanv.
  160. -- improved output format in inline translation.
  161. -- added -BP option for deBug trace of statement Parsing.
  162. -- implemented proper local symbol tables in nested functions.
  163.  
  164. 03/23/88
  165. -- corrected translation of :(expr) in write when expr starts with a digit.
  166. -- added runtime check for too many procedure parameters.
  167. -- better handling of nested with statements.
  168. -- partial translation of with dependant expressions.
  169. -- changed constant declarations from #define to 'const' to allow full
  170.    scoping rules. (this doesn't work with tc1.0!)
  171.    
  172. 03/24/88
  173. -- partial translation of expressions accessing variant record members.
  174. -- better handling of forward redeclarations that are incomplete.
  175. -- implemented translation of TP4 units
  176.         -- 'interface' section creates .UNS file with TPTC symbol table
  177.            information saved for later use.
  178.         -- 'interface' section creates .UNH header file for inclusion
  179.            in C sources using the unit
  180.         -- 'uses' section generates include of .UNH header and loads
  181.            the .UNS data into the current symbol table
  182.    you must translate SYSTEM.DOC, DOS.DOC, etc, before units USING these
  183.    ca